package com.ltl.project.upload_client.service;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * http 业务类
 *
 * @author AUSA
 */
public interface HttpService {

    /**
     * 上传文件到文件服务器
     *
     * @param file     待上传的文件
     * @param response
     * @return
     * @throws Exception
     */
    public String upload2Server(MultipartFile file, HttpServletResponse response) throws Exception;

    /**
     * 从文件服务器获取文件流
     *
     * @param uuid     目标文件的 uuid
     * @param response
     */
    public void downloadFileFromServerByUuid(String uuid, HttpServletResponse response);

    /**
     * 通过 uuid 获取文件元数据
     *
     * @param uuid
     * @return 文件元数据的 json 字符串
     * @throws Exception
     */
    public String getFileInfoByUuid(String uuid) throws Exception;

    /**
     * 获取最近上传的文件列表
     *
     * @return
     * @throws Exception
     */
    public String getFileInfoList() throws Exception;
}
